import time
import unittest

from appium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait

# 前置代码

# 初始化字典 用于存放相应的启动参数
desired_caps = dict()
# 需要连接设备的类型
desired_caps['platformName'] = 'Android'
# uiAutomatorViewer 驱动
desired_caps['automationName'] = 'uiautomator2'
# 需要连接设备的类型版本号
desired_caps['platformVersion'] = '11.0'
# 连接的设备id
desired_caps['deviceName'] = 'c2f344d9'
# 启动应用包名
desired_caps['appPackage'] = 'com.xiaomi.market'
# 启动应用的界面
desired_caps['appActivity'] = '.ui.MarketTabActivity'

# appium服务
driver = webdriver.Remote('http://localhost:4723', desired_caps)
time.sleep(10)
# 切换应用
driver.start_activity('com.android.thememanager', '.ThemeResourceTabActivity')
# 获取包名及界面名
print(driver.current_package)
print(driver.current_activity)
# 隐式等待
wait = WebDriverWait(driver, 10)
# 模拟点击
wait.until(lambda x: x.find_element(By.XPATH, "//*[@text='同意']")).click()
wait.until(lambda x: x.find_element(By.XPATH, "//*[@content-desc='搜索']")).click()
# 模拟输入
wait.until(lambda x: x.find_element(By.ID, 'com.android.thememanager:id/search_view')).send_keys('这是一个测试案例')
# 模拟清空
wait.until(lambda x: x.find_element(By.ID, 'com.android.thememanager:id/search_view')).clear()

time.sleep(10)

# 退出
driver.quit()
